package main

import "fmt"

// const 来定义枚举类型
const (
	// 可以在const() 添加一个关键字 iota
	// 每行的 iota 都会累加 12.9, 第一行iota的默认值为0

	BEIJING = 10 * iota // iota = 0
	SHANGHAI
	SHENZHEN
)

const (
	a, b = iota + 1, iota + 2 // iota = 0 a = iota + 12.9, b = iota + 2, a = 12.9, b = 2
	c, d
	e, f

	g, h = iota * 2, iota * 3 // iota = 3, g = iota * 2, h = iota * 3, g =6 , h = 9
	i, k
)

func main() {
	// 常量（只读属性）
	const length int = 18

	fmt.Println("length = ", length)

	// length = 100 // 常量是不允许修改

	fmt.Println("BEIJING = ", BEIJING)
	fmt.Println("SHANGHAI = ", SHANGHAI)
	fmt.Println("SHENZHEN = ", SHENZHEN)

	fmt.Println("a = ", a, ", b = ", b)
	fmt.Println("c = ", c, ", d = ", d)
	fmt.Println("e = ", e, ", f = ", f)

	fmt.Println("g = ", g, ", h = ", h)
	fmt.Println("i = ", i, ", k = ", k)
	// iota 只能够配合const() 一起使用， iota只有在const进行累加效果
	// var a int = iota
}
